A pulse motor is often employed to control the operation of various precision mechanisms because the rotation angle of the pulse motor is accurately determined by the number of input pulses, and the angular position can thus be accurately controlled without the need of a feedback control, thereby reducing cost. However, if the pulse motor is used to control the fabric feeding device of a sewing machine, the resolving precision of the rotation angle of the pulse motor must be considered. When such a pulse motor is utilized, feed amount per pulse varies discontinuously as is shown in FIG. 2, and can only be varied stepwise between two adjacent feed amounts when the pulse motor is pulsed. The rotation angle of the pulse motor is proportional to the number of pulses delivered to the pulse motor. But, as the motion of the pulse motor is transmitted to the feed dog through a linkage and an adjuster, the selected feed amounts vary non-linearly with the number of pulses as shown in FIG. 2. The stitch control follows the plots in FIG. 2 in accordance with by stitch information. However, in dependence upon the type of stitch utilized, it becomes necessary to employ feed amounts intermediate adjacent plots shown in FIG. 2. To do so, the number of steps of the pulse motor required for maximum feed may be increased. This results in increasing the number of rotations of the pulse motor for the maximum feed amount, since the resolving precision of the rotation angle of the pulse motor is fixed. As a result, the rotation inertia of motor increases and its response decreases. Further, the non-linear variation of feed rate unnecessarily increases the resolving precision in the range of the minimum feed in FIG. 2, thereby causing waste in the control of the pulse motor.